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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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"));
}