diff options
Diffstat (limited to 'packages/preload/src/contextBridge/SophieRendererImpl.ts')
-rw-r--r-- | packages/preload/src/contextBridge/SophieRendererImpl.ts | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/packages/preload/src/contextBridge/SophieRendererImpl.ts b/packages/preload/src/contextBridge/SophieRendererImpl.ts index 61b01e9..bbb4f65 100644 --- a/packages/preload/src/contextBridge/SophieRendererImpl.ts +++ b/packages/preload/src/contextBridge/SophieRendererImpl.ts | |||
@@ -27,16 +27,17 @@ import { | |||
27 | SophieRenderer, | 27 | SophieRenderer, |
28 | } from '@sophie/shared'; | 28 | } from '@sophie/shared'; |
29 | 29 | ||
30 | import { RendererToMainIpcService } from '../services/RendererToMainIpcService'; | 30 | import { IpcRendererService } from '../services/IpcRendererService'; |
31 | 31 | ||
32 | class SophieRendererImpl implements SophieRenderer { | 32 | class SophieRendererImpl implements SophieRenderer { |
33 | readonly #ipcService = new RendererToMainIpcService(); | 33 | readonly #ipcService; |
34 | 34 | ||
35 | #onSharedStoreChangeCalled: boolean = false; | 35 | #onSharedStoreChangeCalled: boolean = false; |
36 | 36 | ||
37 | #listener: SharedStoreListener | null = null; | 37 | #listener: SharedStoreListener | null = null; |
38 | 38 | ||
39 | constructor() { | 39 | constructor(ipcService: IpcRendererService) { |
40 | this.#ipcService = ipcService; | ||
40 | this.#ipcService.onSharedStorePatch((patch) => { | 41 | this.#ipcService.onSharedStorePatch((patch) => { |
41 | try { | 42 | try { |
42 | // `mobx-state-tree` will validate the patch, so we can safely cast here. | 43 | // `mobx-state-tree` will validate the patch, so we can safely cast here. |
@@ -87,8 +88,10 @@ class SophieRendererImpl implements SophieRenderer { | |||
87 | } | 88 | } |
88 | } | 89 | } |
89 | 90 | ||
90 | export function createSophieRenderer(): SophieRenderer { | 91 | export function createSophieRenderer( |
91 | const impl = new SophieRendererImpl(); | 92 | ipcService: IpcRendererService, |
93 | ): SophieRenderer { | ||
94 | const impl = new SophieRendererImpl(ipcService); | ||
92 | return { | 95 | return { |
93 | onSharedStoreChange: impl.onSharedStoreChange.bind(impl), | 96 | onSharedStoreChange: impl.onSharedStoreChange.bind(impl), |
94 | dispatchAction: impl.dispatchAction.bind(impl), | 97 | dispatchAction: impl.dispatchAction.bind(impl), |