aboutsummaryrefslogtreecommitdiffstats
path: root/packages/renderer/src/stores/RendererStore.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/renderer/src/stores/RendererStore.ts')
-rw-r--r--packages/renderer/src/stores/RendererStore.ts15
1 files changed, 8 insertions, 7 deletions
diff --git a/packages/renderer/src/stores/RendererStore.ts b/packages/renderer/src/stores/RendererStore.ts
index f48d484..7052162 100644
--- a/packages/renderer/src/stores/RendererStore.ts
+++ b/packages/renderer/src/stores/RendererStore.ts
@@ -66,27 +66,28 @@ export default RendererStore;
66 * the newly created store via `ipc`. 66 * the newly created store via `ipc`.
67 * 67 *
68 * @param ipc The `sophieRenderer` context bridge. 68 * @param ipc The `sophieRenderer` context bridge.
69 * @returns A promise that resolves to the store once it was initialized.
69 */ 70 */
70export function createAndConnectRendererStore( 71export async function createAndConnectRendererStore(
71 ipc: SophieRenderer, 72 ipc: SophieRenderer,
72): RendererStore { 73): Promise<RendererStore> {
73 const env: RendererEnv = { 74 const env: RendererEnv = {
74 dispatchMainAction: ipc.dispatchAction, 75 dispatchMainAction: ipc.dispatchAction,
75 }; 76 };
76 const store = RendererStore.create({}, env); 77 const store = RendererStore.create({}, env);
77 78
78 ipc 79 try {
79 .onSharedStoreChange({ 80 await ipc.onSharedStoreChange({
80 onSnapshot(snapshot) { 81 onSnapshot(snapshot) {
81 applySnapshot(store.shared, snapshot); 82 applySnapshot(store.shared, snapshot);
82 }, 83 },
83 onPatch(patch) { 84 onPatch(patch) {
84 applyPatch(store.shared, patch); 85 applyPatch(store.shared, patch);
85 }, 86 },
86 })
87 .catch((error) => {
88 log.error('Failed to connect to shared store', error);
89 }); 87 });
88 } catch (error) {
89 log.error('Failed to connect to shared store', error);
90 }
90 91
91 return store; 92 return store;
92} 93}