make clearing state for storage more type-safe (#1884)

This commit is contained in:
David Luzar
2020-07-11 13:09:40 +02:00
committed by GitHub
parent 6428b59ccb
commit 0ee2c15929
4 changed files with 107 additions and 36 deletions

View File

@@ -1,6 +1,7 @@
import { getDefaultAppState } from "../appState";
import { getDefaultAppState, cleanAppStateForExport } from "../appState";
import { restore } from "./restore";
import { t } from "../i18n";
import { AppState } from "../types";
export const loadFromBlob = async (blob: any) => {
const updateAppState = (contents: string) => {
@@ -13,7 +14,10 @@ export const loadFromBlob = async (blob: any) => {
throw new Error(t("alerts.couldNotLoadInvalidFile"));
}
elements = data.elements || [];
appState = { ...defaultAppState, ...data.appState };
appState = {
...defaultAppState,
...cleanAppStateForExport(data.appState as Partial<AppState>),
};
} catch {
throw new Error(t("alerts.couldNotLoadInvalidFile"));
}