From 4ef4306cf401829905f764845ed78ac072fb94b6 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sun, 26 Dec 2021 19:59:04 +0100 Subject: refactor: Make all stores optional This reduces boilerplate and helps with config file robustness: if a field is missing from the config file, it will be replaced with its default value. --- packages/renderer/src/stores/RootStore.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'packages/renderer') diff --git a/packages/renderer/src/stores/RootStore.ts b/packages/renderer/src/stores/RootStore.ts index 20e0afa..f7f37f0 100644 --- a/packages/renderer/src/stores/RootStore.ts +++ b/packages/renderer/src/stores/RootStore.ts @@ -28,7 +28,6 @@ import { } from 'mobx-state-tree'; import { BrowserViewBounds, - emptySharedStore, sharedStore, SophieRenderer, ThemeSource, @@ -50,7 +49,7 @@ export function getEnv(model: IAnyStateTreeNode): RootEnv { } export const rootStore = types.model('RootStore', { - shared: sharedStore, + shared: types.optional(sharedStore, {}), }).actions((self) => ({ setBrowserViewBounds(bounds: BrowserViewBounds) { getEnv(self).ipc.setBrowserViewBounds(bounds); @@ -78,9 +77,7 @@ export interface RootStore extends Instance {} * @param ipc The `sophieRenderer` context bridge. */ export function createAndConnectRootStore(ipc: SophieRenderer): RootStore { - const store = rootStore.create({ - shared: emptySharedStore, - }, { + const store = rootStore.create({}, { ipc, }); -- cgit v1.2.3-54-g00ecf