Filter out missing files on load

This commit is contained in:
Danielv123 committed 2024-04-27 22:09:16 +02:00
1 parent f0fb471ea1
commit 8831b33c01
1 file changed
+7 -7
+7 -7
View File
@@ -77,16 +77,16 @@ export class SaveModule {
static async fromSave(json: Static<typeof SaveModule.jsonSchema>, root: JSZip) {
const module = new this(lib.ModuleInfo.fromJSON(json));
module.files = new Map(
await Promise.all(json.files.map(async filename => {
const file = root.file(filename);
module.files = new Map(await Promise.all(json.files
.map(filename => ({filename, file: root.file(filename)}))
.filter(({filename, file}) => {
if (file === null) {
lib.logger.warn(`Missing file ${filename} in save`);
return [filename, Buffer.alloc(0)] as const;
}
return [filename, await file.async("nodebuffer")] as const;
}))
);
return file !== null;
})
.map(async ({filename, file}) => [filename, await file!.async("nodebuffer")] as const)
));
return module;
}