diff --git a/components/views/files/view/View.html b/components/views/files/view/View.html index e23e744dcb..d8f9b0158f 100644 --- a/components/views/files/view/View.html +++ b/components/views/files/view/View.html @@ -7,14 +7,16 @@
- + @@ -35,16 +37,14 @@
- - +
+ diff --git a/components/views/files/view/View.vue b/components/views/files/view/View.vue index cdc9cf4ecf..8fa5843b95 100644 --- a/components/views/files/view/View.vue +++ b/components/views/files/view/View.vue @@ -10,7 +10,6 @@ import { XIcon, LinkIcon, } from 'satellite-lucide-icons' -import { filetypeextension } from 'magic-bytes.js' import { Fil } from '~/libraries/Files/Fil' export default Vue.extend({ @@ -25,74 +24,40 @@ export default Vue.extend({ data() { return { file: undefined as Fil | undefined, - name: '' as string, - progress: 0 as number, } }, computed: { ...mapState(['ui']), - isLoading(): boolean { - return this.progress >= 0 && this.progress < 100 + isDownloading(): boolean { + return this.ui.fileDownloadList.includes(this.file?.name) }, }, - /** - */ - async created() { + created() { this.file = this.$FileSystem.getChild(this.ui.filePreview) as Fil - this.name = this.file?.name - - // if no file data available, pull encrypted file from textile bucket - if (!this.file.file) { - const fsFil: Fil = this.$FileSystem.getChild(this.file.name) as Fil - fsFil.file = await this.$TextileManager.bucket?.pullFile( - this.file.id, - this.file.name, - this.file.type, - this.file.size, - this.setProgress, - ) - } - // file extension according to file name - const fileExt = this.file.name - .slice(((this.file.name.lastIndexOf('.') - 1) >>> 0) + 2) - .toLowerCase() - // you only need the first 256 bytes or so to confirm file type - const buffer = new Uint8Array( - await this.file.file.slice(0, 256).arrayBuffer(), - ) - // file extension according to byte data - const dataExt = filetypeextension(buffer)[0] - - // magicbytes declares svg as xml, so we need to manually check - const decodedFile = new TextDecoder().decode(buffer) - if (decodedFile.includes('xmlns="http://www.w3.org/2000/svg"')) { - // if corrupted, set .svg extension - if (fileExt !== 'svg') { - this.name += '.svg' - } - return - } - - // if corrupted txt file - if (!dataExt && fileExt !== 'txt') { - this.name += '.txt' - return - } - - // if corrupted file with wrong extension, force the correct one - if (fileExt !== dataExt && dataExt) { - this.name += `.${dataExt}` - } }, methods: { /** - * @method setProgress - * @description set progress (% out of 100) while file is being pulled from textile bucket. passed as a callback - * @param num current progress in bytes - * @param size total file size in bytes + * @method download + * @description download file using stream saver, apply original extension if it was removed + * add name to store so the user doesn't start another download of the same file + * also takes a bit to get started for large files, this adds loading indicator */ - setProgress(num: number, size: number) { - this.progress = Math.floor((num / size) * 100) + async download() { + if (this.file) { + this.$store.commit('ui/addFileDownload', this.file.name) + const fileExt = this.file.name + .slice(((this.file.name.lastIndexOf('.') - 1) >>> 0) + 2) + .toLowerCase() + + await this.$TextileManager.bucket?.pullFileStream( + this.file.id, + this.file.extension === fileExt + ? this.file.name + : (this.file.name += `.${this.file.extension}`), + this.file.size, + ) + this.$store.commit('ui/removeFileDownload', this.file.name) + } }, /** * @method share diff --git a/libraries/Files/Fil.ts b/libraries/Files/Fil.ts index 294dc4a0cf..968448f73d 100644 --- a/libraries/Files/Fil.ts +++ b/libraries/Files/Fil.ts @@ -6,8 +6,8 @@ import { FILE_TYPE } from './types/file' export class Fil extends Item { private _description: string = '' private _size: number = 0 - private _file: File | undefined private _thumbnail: string + private _extension: string /** * @constructor @@ -17,7 +17,6 @@ export class Fil extends Item { constructor({ id, name, - file, size, liked, shared, @@ -25,10 +24,10 @@ export class Fil extends Item { description, type, thumbnail, + extension, }: { id?: string name: string - file?: File size: number liked?: boolean shared?: boolean @@ -36,15 +35,19 @@ export class Fil extends Item { description?: string type?: FILE_TYPE thumbnail?: string + extension?: string }) { if (!size) { throw new Error(FileSystemErrors.FILE_SIZE) } super({ name, liked, shared, modified, id, type }) - this._file = file || undefined this._description = description || '' this._size = size this._thumbnail = thumbnail || '' + // set original extension in case user changes it during rename + this._extension = + extension || + name.slice(((name.lastIndexOf('.') - 1) >>> 0) + 2).toLowerCase() } /** @@ -62,7 +65,6 @@ export class Fil extends Item { get copy(): Fil { return new Fil({ name: `${this.name} copy`, - file: this._file, size: this.size, modified: this.modified, liked: this.liked, @@ -70,12 +72,13 @@ export class Fil extends Item { description: this.description, type: this.type as FILE_TYPE, thumbnail: this.thumbnail, + extension: this.extension, }) } /** * @getter size - * @returns file size + * @returns {number} file size */ get size(): number { return this._size @@ -83,42 +86,26 @@ export class Fil extends Item { /** * @getter modified - * @returns last modified timestamp + * @returns {number} last modified timestamp */ get modified(): number { return this.modifiedVal } /** - * @getter file - * @returns file object fetched from textile bucket + * @getter thumbnail + * @returns {string} base64 string of scaled down image, or '' if non-embeddable image */ - get file(): File | undefined { - return this._file - } - - /** - * @setter file - * @param {File} file file object - */ - set file(file: File | undefined) { - this._file = file - } - - /** - * @getter url - * @returns link of locally stored File for image preview and downloads - */ - get url(): string { - return this.file ? URL.createObjectURL(this.file) : '' + get thumbnail(): string { + return this._thumbnail } /** - * @getter url - * @returns link of localally stored File for image preview and downloads + * @getter extension + * @returns {string} original extension on user upload */ - get thumbnail(): string { - return this._thumbnail + get extension(): string { + return this._extension } /** diff --git a/libraries/Files/FilSystem.ts b/libraries/Files/FilSystem.ts index 1890386721..6886428b78 100644 --- a/libraries/Files/FilSystem.ts +++ b/libraries/Files/FilSystem.ts @@ -157,6 +157,7 @@ export class FilSystem { description, modified, thumbnail, + extension, } = item return { id, @@ -168,6 +169,7 @@ export class FilSystem { description, modified, thumbnail, + extension, } } const { id, name, liked, shared, type, modified } = item @@ -213,6 +215,7 @@ export class FilSystem { description, modified, thumbnail, + extension, } = item as ExportFile const type = item.type as FILE_TYPE this.createFile({ @@ -225,6 +228,7 @@ export class FilSystem { type, modified, thumbnail, + extension, }) } if ((Object.values(DIRECTORY_TYPE) as string[]).includes(item.type)) { @@ -248,7 +252,6 @@ export class FilSystem { public createFile({ id, name, - file, size, liked, shared, @@ -256,10 +259,10 @@ export class FilSystem { type, modified, thumbnail, + extension, }: { id?: string name: string - file?: File size: number liked?: boolean shared?: boolean @@ -267,11 +270,11 @@ export class FilSystem { type?: FILE_TYPE modified?: number thumbnail?: string + extension?: string }): Fil | null { const newFile = new Fil({ id, name, - file, size, liked, shared, @@ -279,6 +282,7 @@ export class FilSystem { type, modified, thumbnail, + extension, }) const inserted = this.addChild(newFile) return inserted ? newFile : null diff --git a/libraries/Files/TextileFileSystem.ts b/libraries/Files/TextileFileSystem.ts index 01f96e9ca1..b634d1f14d 100644 --- a/libraries/Files/TextileFileSystem.ts +++ b/libraries/Files/TextileFileSystem.ts @@ -36,7 +36,6 @@ export class TextileFileSystem extends FilSystem { this.createFile({ id, name: file.name, - file, size: file.size, type: Object.values(FILE_TYPE).includes(type) ? type : FILE_TYPE.GENERIC, thumbnail: await this._createThumbnail(file, byteType), diff --git a/libraries/Files/remote/textile/Bucket.ts b/libraries/Files/remote/textile/Bucket.ts index 321a296d20..b2789f5260 100644 --- a/libraries/Files/remote/textile/Bucket.ts +++ b/libraries/Files/remote/textile/Bucket.ts @@ -1,4 +1,5 @@ import { Buckets, RemovePathResponse, Root } from '@textile/hub' +import { createWriteStream } from 'streamsaver' import { RFM } from '../abstracts/RFM.abstract' import { RFMInterface } from '../interface/RFM.interface' import { Config } from '~/config' @@ -7,7 +8,6 @@ import { FileSystemExport, FILESYSTEM_TYPE, } from '~/libraries/Files/types/filesystem' -import { FILE_TYPE } from '~/libraries/Files/types/file' export class Bucket extends RFM implements RFMInterface { private _textile: TextileInitializationData @@ -158,33 +158,23 @@ export class Bucket extends RFM implements RFMInterface { * @method pullFile * @description fetch encrypted file from bucket * @param {string} id file path in bucket - * @param {string} type file mime type - * @param {Function} progressCallback used to show progress meter in componment that calls this method + * @param {string} name file name + * @param {number} size file size to show progress in browser * @returns Promise of File */ - async pullFile( - id: string, - name: string, - type: string, - size: number, - progressCallback: Function, - ): Promise { + async pullFileStream(id: string, name: string, size: number) { if (!this.buckets || !this.key) { throw new Error('Bucket or bucket key not found') } + const fileStream = createWriteStream(name, { size }) + const writer = fileStream.getWriter() - const data = [] - for await (const bytes of this.buckets.pullPath(this.key, id, { - progress: (num) => { - progressCallback(num, size) - }, - })) { - data.push(bytes) + window.onunload = () => writer.abort() + + for await (const bytes of this.buckets.pullPath(this.key, id)) { + writer.write(bytes) } - // if type is unknown(generic), then don't use in File constructor - return new File(data, name, { - type: type === FILE_TYPE.GENERIC ? '' : type, - }) + writer.close() } /** diff --git a/libraries/Files/test/__snapshots__/Directory.test.ts.snap b/libraries/Files/test/__snapshots__/Directory.test.ts.snap index 79706320d8..7393e98080 100644 --- a/libraries/Files/test/__snapshots__/Directory.test.ts.snap +++ b/libraries/Files/test/__snapshots__/Directory.test.ts.snap @@ -4,7 +4,7 @@ exports[`Test FileSystem Directory Correctly sorts directory by modified and asc Array [ Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -14,7 +14,7 @@ Array [ "testfile.png" => [Circular], "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -27,7 +27,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -40,7 +40,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -67,7 +67,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -76,7 +76,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -90,7 +90,7 @@ Array [ "testfile2.png" => [Circular], "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -103,7 +103,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -130,7 +130,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -139,7 +139,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -152,7 +152,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -166,7 +166,7 @@ Array [ "file1.jpg" => [Circular], "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -193,7 +193,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -202,7 +202,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -215,7 +215,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -228,7 +228,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -261,7 +261,7 @@ exports[`Test FileSystem Directory Correctly sorts directory by modified and asc Array [ Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -271,7 +271,7 @@ Array [ "testfile.png" => [Circular], "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -284,7 +284,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -297,7 +297,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -310,7 +310,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -323,7 +323,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -336,7 +336,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -349,7 +349,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -362,7 +362,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -375,7 +375,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -402,7 +402,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -411,7 +411,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -425,7 +425,7 @@ Array [ "testfile2.png" => [Circular], "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -438,7 +438,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -451,7 +451,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -464,7 +464,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -477,7 +477,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -490,7 +490,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -503,7 +503,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -516,7 +516,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -543,7 +543,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -552,7 +552,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -565,7 +565,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -579,7 +579,7 @@ Array [ "file1.jpg" => [Circular], "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -592,7 +592,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -605,7 +605,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -618,7 +618,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -631,7 +631,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -644,7 +644,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -657,7 +657,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -684,7 +684,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -693,7 +693,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -706,7 +706,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -719,7 +719,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -733,7 +733,7 @@ Array [ "file2.heic" => [Circular], "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -746,7 +746,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -759,7 +759,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -772,7 +772,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -785,7 +785,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -798,7 +798,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -825,7 +825,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -834,7 +834,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -847,7 +847,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -860,7 +860,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -873,7 +873,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -887,7 +887,7 @@ Array [ "file1.png" => [Circular], "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -900,7 +900,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -913,7 +913,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -926,7 +926,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -939,7 +939,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -966,7 +966,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -975,7 +975,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -988,7 +988,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1001,7 +1001,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1014,7 +1014,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1027,7 +1027,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1041,7 +1041,7 @@ Array [ "file2.png" => [Circular], "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1054,7 +1054,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1067,7 +1067,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1080,7 +1080,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1107,7 +1107,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1116,7 +1116,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1129,7 +1129,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1142,7 +1142,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1155,7 +1155,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1168,7 +1168,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1181,7 +1181,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1195,7 +1195,7 @@ Array [ "testfile3.png" => [Circular], "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1208,7 +1208,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1221,7 +1221,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1248,7 +1248,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1257,7 +1257,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1270,7 +1270,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1283,7 +1283,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1296,7 +1296,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1309,7 +1309,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1322,7 +1322,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1335,7 +1335,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1349,7 +1349,7 @@ Array [ "testfile4.png" => [Circular], "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1362,7 +1362,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1389,7 +1389,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1398,7 +1398,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1411,7 +1411,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1424,7 +1424,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1437,7 +1437,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1450,7 +1450,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1463,7 +1463,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1476,7 +1476,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1489,7 +1489,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1503,7 +1503,7 @@ Array [ "file3.jpg" => [Circular], "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1530,7 +1530,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1539,7 +1539,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1552,7 +1552,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1565,7 +1565,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1578,7 +1578,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1591,7 +1591,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1604,7 +1604,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1617,7 +1617,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1630,7 +1630,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1643,7 +1643,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1676,7 +1676,7 @@ exports[`Test FileSystem Directory Correctly sorts directory by size and ascendi Array [ Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1686,7 +1686,7 @@ Array [ "testfile.png" => [Circular], "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1713,7 +1713,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1722,7 +1722,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1755,7 +1755,7 @@ exports[`Test FileSystem Directory Correctly sorts directory by size and descend Array [ Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1764,7 +1764,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1778,7 +1778,7 @@ Array [ "testfile2.png" => [Circular], "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1791,7 +1791,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1804,7 +1804,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1817,7 +1817,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1830,7 +1830,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1843,7 +1843,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1870,7 +1870,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1879,7 +1879,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1892,7 +1892,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1905,7 +1905,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1919,7 +1919,7 @@ Array [ "file2.heic" => [Circular], "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1932,7 +1932,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1945,7 +1945,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1958,7 +1958,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1985,7 +1985,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -1994,7 +1994,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2007,7 +2007,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2020,7 +2020,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2033,7 +2033,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2046,7 +2046,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2060,7 +2060,7 @@ Array [ "file2.png" => [Circular], "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2073,7 +2073,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2100,7 +2100,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2109,7 +2109,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2122,7 +2122,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2135,7 +2135,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2148,7 +2148,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2161,7 +2161,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2174,7 +2174,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2187,7 +2187,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2215,7 +2215,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2225,7 +2225,7 @@ Array [ "testfile.png" => [Circular], "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2238,7 +2238,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2251,7 +2251,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2264,7 +2264,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2277,7 +2277,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2290,7 +2290,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2303,7 +2303,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2330,7 +2330,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2339,7 +2339,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2352,7 +2352,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2366,7 +2366,7 @@ Array [ "file1.jpg" => [Circular], "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2379,7 +2379,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2392,7 +2392,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2405,7 +2405,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2418,7 +2418,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2445,7 +2445,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2454,7 +2454,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2467,7 +2467,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2480,7 +2480,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2493,7 +2493,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2507,7 +2507,7 @@ Array [ "file1.png" => [Circular], "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2520,7 +2520,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2533,7 +2533,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2560,7 +2560,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2569,7 +2569,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2582,7 +2582,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2595,7 +2595,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2608,7 +2608,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2621,7 +2621,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2634,7 +2634,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2648,7 +2648,7 @@ Array [ "testfile3.png" => [Circular], "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2680,7 +2680,7 @@ exports[`Test FileSystem Directory Correctly sorts directory by type and ascendi Array [ Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2690,7 +2690,7 @@ Array [ "testfile.png" => [Circular], "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2703,7 +2703,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2716,7 +2716,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2729,7 +2729,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2742,7 +2742,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2769,7 +2769,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2778,7 +2778,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2792,7 +2792,7 @@ Array [ "testfile2.png" => [Circular], "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2805,7 +2805,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2818,7 +2818,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2831,7 +2831,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2858,7 +2858,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2867,7 +2867,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2880,7 +2880,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2894,7 +2894,7 @@ Array [ "file1.jpg" => [Circular], "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2907,7 +2907,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2920,7 +2920,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2947,7 +2947,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2956,7 +2956,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2969,7 +2969,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2982,7 +2982,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -2996,7 +2996,7 @@ Array [ "file2.heic" => [Circular], "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3009,7 +3009,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3036,7 +3036,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3045,7 +3045,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3058,7 +3058,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3071,7 +3071,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3084,7 +3084,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3098,7 +3098,7 @@ Array [ "file1.png" => [Circular], "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3125,7 +3125,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3134,7 +3134,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3147,7 +3147,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3160,7 +3160,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3173,7 +3173,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3186,7 +3186,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3219,7 +3219,7 @@ exports[`Test FileSystem Directory Correctly sorts directory by type and ascendi Array [ Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3229,7 +3229,7 @@ Array [ "testfile.png" => [Circular], "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3242,7 +3242,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3255,7 +3255,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3268,7 +3268,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3281,7 +3281,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3294,7 +3294,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3307,7 +3307,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3320,7 +3320,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3333,7 +3333,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3346,7 +3346,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3359,7 +3359,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3386,7 +3386,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3395,7 +3395,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3409,7 +3409,7 @@ Array [ "testfile2.png" => [Circular], "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3422,7 +3422,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3435,7 +3435,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3448,7 +3448,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3461,7 +3461,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3474,7 +3474,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3487,7 +3487,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3500,7 +3500,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3513,7 +3513,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3526,7 +3526,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3553,7 +3553,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3562,7 +3562,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3575,7 +3575,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3589,7 +3589,7 @@ Array [ "file1.jpg" => [Circular], "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3602,7 +3602,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3615,7 +3615,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3628,7 +3628,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3641,7 +3641,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3654,7 +3654,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3667,7 +3667,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3680,7 +3680,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3693,7 +3693,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3720,7 +3720,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3729,7 +3729,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3742,7 +3742,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3755,7 +3755,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3769,7 +3769,7 @@ Array [ "file2.heic" => [Circular], "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3782,7 +3782,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3795,7 +3795,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3808,7 +3808,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3821,7 +3821,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3834,7 +3834,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3847,7 +3847,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3860,7 +3860,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3887,7 +3887,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3896,7 +3896,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3909,7 +3909,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3922,7 +3922,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3935,7 +3935,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3949,7 +3949,7 @@ Array [ "file1.png" => [Circular], "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3962,7 +3962,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3975,7 +3975,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -3988,7 +3988,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4001,7 +4001,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4014,7 +4014,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4027,7 +4027,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4054,7 +4054,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4063,7 +4063,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4076,7 +4076,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4089,7 +4089,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4102,7 +4102,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4115,7 +4115,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4129,7 +4129,7 @@ Array [ "file2.png" => [Circular], "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4142,7 +4142,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4155,7 +4155,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4168,7 +4168,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4181,7 +4181,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4194,7 +4194,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4221,7 +4221,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4230,7 +4230,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4243,7 +4243,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4256,7 +4256,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4269,7 +4269,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4282,7 +4282,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4295,7 +4295,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4309,7 +4309,7 @@ Array [ "testfile3.png" => [Circular], "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4322,7 +4322,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4335,7 +4335,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4348,7 +4348,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4361,7 +4361,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4388,7 +4388,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4397,7 +4397,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4410,7 +4410,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4423,7 +4423,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4436,7 +4436,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4449,7 +4449,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4462,7 +4462,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4475,7 +4475,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4489,7 +4489,7 @@ Array [ "testfile4.png" => [Circular], "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4502,7 +4502,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4515,7 +4515,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4528,7 +4528,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4555,7 +4555,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4564,7 +4564,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4577,7 +4577,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4590,7 +4590,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4603,7 +4603,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4616,7 +4616,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4629,7 +4629,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4642,7 +4642,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4655,7 +4655,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4669,7 +4669,7 @@ Array [ "file3.jpg" => [Circular], "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4682,7 +4682,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4695,7 +4695,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4722,7 +4722,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4731,7 +4731,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4744,7 +4744,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4757,7 +4757,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4770,7 +4770,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4783,7 +4783,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4796,7 +4796,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4809,7 +4809,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4822,7 +4822,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4835,7 +4835,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4849,7 +4849,7 @@ Array [ "file4.heic" => [Circular], "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4862,7 +4862,7 @@ Array [ }, "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4889,7 +4889,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4898,7 +4898,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4911,7 +4911,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4924,7 +4924,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4937,7 +4937,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4950,7 +4950,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4963,7 +4963,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4976,7 +4976,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -4989,7 +4989,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5002,7 +5002,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5015,7 +5015,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5029,7 +5029,7 @@ Array [ "file3.png" => [Circular], "file4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5056,7 +5056,7 @@ Array [ }, Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5065,7 +5065,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5078,7 +5078,7 @@ Array [ }, "testfile2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5091,7 +5091,7 @@ Array [ }, "file1.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5104,7 +5104,7 @@ Array [ }, "file2.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5117,7 +5117,7 @@ Array [ }, "file1.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5130,7 +5130,7 @@ Array [ }, "file2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5143,7 +5143,7 @@ Array [ }, "testfile3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5156,7 +5156,7 @@ Array [ }, "testfile4.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5169,7 +5169,7 @@ Array [ }, "file3.jpg" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "jpg", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5182,7 +5182,7 @@ Array [ }, "file4.heic" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "heic", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -5195,7 +5195,7 @@ Array [ }, "file3.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, diff --git a/libraries/Files/test/__snapshots__/FilSystem.test.ts.snap b/libraries/Files/test/__snapshots__/FilSystem.test.ts.snap index f4cf01055d..aa0d4f1be3 100644 --- a/libraries/Files/test/__snapshots__/FilSystem.test.ts.snap +++ b/libraries/Files/test/__snapshots__/FilSystem.test.ts.snap @@ -171,7 +171,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -184,7 +184,7 @@ Array [ }, "testpng2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -197,7 +197,7 @@ Array [ }, "abc.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -210,7 +210,7 @@ Array [ }, "cc123.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -275,7 +275,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -288,7 +288,7 @@ Array [ }, "testpng2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -301,7 +301,7 @@ Array [ }, "abc.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -314,7 +314,7 @@ Array [ }, "cc123.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -360,7 +360,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -373,7 +373,7 @@ Array [ }, "testpng2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -386,7 +386,7 @@ Array [ }, "abc.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -399,7 +399,7 @@ Array [ }, "cc123.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -492,7 +492,7 @@ Array [ "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -505,7 +505,7 @@ Array [ }, "testpng2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -518,7 +518,7 @@ Array [ }, "abc.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -531,7 +531,7 @@ Array [ }, "cc123.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -595,7 +595,7 @@ FilSystem { "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -608,7 +608,7 @@ FilSystem { }, "testpng2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -621,7 +621,7 @@ FilSystem { }, "abc.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -634,7 +634,7 @@ FilSystem { }, "cc123.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -700,7 +700,7 @@ FilSystem { "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -713,7 +713,7 @@ FilSystem { }, "testpng2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -726,7 +726,7 @@ FilSystem { }, "abc.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -739,7 +739,7 @@ FilSystem { }, "cc123.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -805,7 +805,7 @@ FilSystem { "_children": Map { "testfile.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -818,7 +818,7 @@ FilSystem { }, "testpng2.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -831,7 +831,7 @@ FilSystem { }, "abc.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, @@ -844,7 +844,7 @@ FilSystem { }, "cc123.png" => Fil { "_description": "Test file description", - "_file": undefined, + "_extension": "png", "_id": "testid", "_liked": false, "_modified": 1645617999076, diff --git a/libraries/Files/types/filesystem.ts b/libraries/Files/types/filesystem.ts index 0b0e8edc43..7b36fb6581 100644 --- a/libraries/Files/types/filesystem.ts +++ b/libraries/Files/types/filesystem.ts @@ -17,6 +17,7 @@ export interface ExportFile extends ExportSharedProps { size: number description: string thumbnail: string + extension: string } export interface ExportDirectory extends ExportSharedProps { diff --git a/package.json b/package.json index 1b68ef6524..166222614c 100644 --- a/package.json +++ b/package.json @@ -89,6 +89,7 @@ "simple-markdown": "^0.7.3", "simple-peer": "^9.11.1", "skaler": "^1.0.7", + "streamsaver": "^2.0.6", "swiper": "^8.0.7", "uuid": "^8.3.2", "v-calendar": "^2.4.1", @@ -135,6 +136,7 @@ "@types/mousetrap": "^1.6.9", "@types/node": "^16.11.26", "@types/simple-peer": "^9.11.4", + "@types/streamsaver": "^2.0.1", "@types/uuid": "^8.3.4", "@types/vue-markdown": "^2.2.1", "@typescript-eslint/eslint-plugin": "^5.13.0", diff --git a/plugins/thirdparty/persist.ts b/plugins/thirdparty/persist.ts index b2bc6e977c..9625a3aaae 100644 --- a/plugins/thirdparty/persist.ts +++ b/plugins/thirdparty/persist.ts @@ -39,6 +39,7 @@ const commonProperties = [ 'ui.isScrollOver', 'ui.filePreview', 'ui.filesUploadStatus', + 'ui.fileDownloadList', ] const propertiesNoStorePin = [ diff --git a/store/ui/__snapshots__/state.test.ts.snap b/store/ui/__snapshots__/state.test.ts.snap index b01fff60cd..459a7dbcef 100644 --- a/store/ui/__snapshots__/state.test.ts.snap +++ b/store/ui/__snapshots__/state.test.ts.snap @@ -29,6 +29,7 @@ Object { "route": "emotes", "show": false, }, + "fileDownloadList": Array [], "filePreview": undefined, "fileSort": Object { "asc": true, diff --git a/store/ui/mutations.ts b/store/ui/mutations.ts index eb14c24865..6fba3b3040 100644 --- a/store/ui/mutations.ts +++ b/store/ui/mutations.ts @@ -371,4 +371,13 @@ export default { setFilesUploadStatus(state: UIState, value: string) { state.filesUploadStatus = value }, + addFileDownload(state: UIState, name: string) { + state.fileDownloadList.push(name) + }, + removeFileDownload(state: UIState, name: string) { + const index = state.fileDownloadList.indexOf(name) + if (index > -1) { + state.fileDownloadList.splice(index, 1) + } + }, } diff --git a/store/ui/state.ts b/store/ui/state.ts index 935bd80ed7..177add3d64 100644 --- a/store/ui/state.ts +++ b/store/ui/state.ts @@ -77,6 +77,7 @@ const InitialUIState = (): UIState => ({ filesUploadStatus: '', renameCurrentName: undefined, filePreview: undefined, + fileDownloadList: [], chatImageOverlay: undefined, fileSort: { category: FileSortEnum.MODIFIED, diff --git a/store/ui/types.ts b/store/ui/types.ts index 22c75ba79a..419e70aac0 100644 --- a/store/ui/types.ts +++ b/store/ui/types.ts @@ -204,6 +204,7 @@ export interface UIState { filesUploadStatus: string renameCurrentName?: string filePreview?: string + fileDownloadList: string[] chatImageOverlay?: ImageMessage fileSort: FileSort swiperSlideIndex: number