diff options
Diffstat (limited to 'packages/shared/src')
-rw-r--r-- | packages/shared/src/contextBridge/SophieRenderer.ts | 6 | ||||
-rw-r--r-- | packages/shared/src/index.ts | 11 | ||||
-rw-r--r-- | packages/shared/src/ipc/MainToRendererIpcMessage.ts | 4 | ||||
-rw-r--r-- | packages/shared/src/ipc/RendererIpcMessage.ts | 3 | ||||
-rw-r--r-- | packages/shared/src/ipc/RendererToMainIpcMessage.ts | 4 | ||||
-rw-r--r-- | packages/shared/src/stores/SharedStore.ts | 23 |
6 files changed, 46 insertions, 5 deletions
diff --git a/packages/shared/src/contextBridge/SophieRenderer.ts b/packages/shared/src/contextBridge/SophieRenderer.ts index 91a0a3c..c878595 100644 --- a/packages/shared/src/contextBridge/SophieRenderer.ts +++ b/packages/shared/src/contextBridge/SophieRenderer.ts | |||
@@ -1,3 +1,7 @@ | |||
1 | import { SharedStoreListener } from '../stores/SharedStore'; | ||
2 | |||
1 | export interface SophieRenderer { | 3 | export interface SophieRenderer { |
2 | buttonClicked(): void; | 4 | setSharedStoreListener(listener: SharedStoreListener): void; |
5 | |||
6 | buttonClick(): void; | ||
3 | } | 7 | } |
diff --git a/packages/shared/src/index.ts b/packages/shared/src/index.ts index f95675d..7f192bd 100644 --- a/packages/shared/src/index.ts +++ b/packages/shared/src/index.ts | |||
@@ -1,3 +1,12 @@ | |||
1 | export type { SophieRenderer } from './contextBridge/SophieRenderer'; | 1 | export type { SophieRenderer } from './contextBridge/SophieRenderer'; |
2 | 2 | ||
3 | export { RendererIpcMessage } from './ipc/RendererIpcMessage'; | 3 | export { MainToRendererIpcMessage } from './ipc/MainToRendererIpcMessage'; |
4 | export { RendererToMainIpcMessage } from './ipc/RendererToMainIpcMessage'; | ||
5 | |||
6 | export type { | ||
7 | SharedStore, | ||
8 | SharedStoreListener, | ||
9 | SharedStoreSnapshotIn, | ||
10 | SharedStoreSnapshotOut, | ||
11 | } from './stores/SharedStore'; | ||
12 | export { sharedStore } from './stores/SharedStore'; | ||
diff --git a/packages/shared/src/ipc/MainToRendererIpcMessage.ts b/packages/shared/src/ipc/MainToRendererIpcMessage.ts new file mode 100644 index 0000000..2ddca80 --- /dev/null +++ b/packages/shared/src/ipc/MainToRendererIpcMessage.ts | |||
@@ -0,0 +1,4 @@ | |||
1 | export enum MainToRendererIpcMessage { | ||
2 | SharedStoreSnapshot = "sophie-shared-store-snapshot", | ||
3 | SharedStorePatch = "sophie-shared-store-patch", | ||
4 | } | ||
diff --git a/packages/shared/src/ipc/RendererIpcMessage.ts b/packages/shared/src/ipc/RendererIpcMessage.ts deleted file mode 100644 index cfb87ae..0000000 --- a/packages/shared/src/ipc/RendererIpcMessage.ts +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | export enum RendererIpcMessage { | ||
2 | ButtonClicked = "button-clicked" | ||
3 | } | ||
diff --git a/packages/shared/src/ipc/RendererToMainIpcMessage.ts b/packages/shared/src/ipc/RendererToMainIpcMessage.ts new file mode 100644 index 0000000..c4c682d --- /dev/null +++ b/packages/shared/src/ipc/RendererToMainIpcMessage.ts | |||
@@ -0,0 +1,4 @@ | |||
1 | export enum RendererToMainIpcMessage { | ||
2 | SharedStoreSnapshotRequest = "sophie-shared-store-snapshot-request", | ||
3 | ButtonClick = "sophie-button-click" | ||
4 | } | ||
diff --git a/packages/shared/src/stores/SharedStore.ts b/packages/shared/src/stores/SharedStore.ts new file mode 100644 index 0000000..8933bca --- /dev/null +++ b/packages/shared/src/stores/SharedStore.ts | |||
@@ -0,0 +1,23 @@ | |||
1 | import { | ||
2 | IJsonPatch, | ||
3 | Instance, | ||
4 | types, | ||
5 | SnapshotIn, | ||
6 | SnapshotOut, | ||
7 | } from 'mobx-state-tree'; | ||
8 | |||
9 | export const sharedStore = types.model("SharedStore", { | ||
10 | clickCount: 0 | ||
11 | }); | ||
12 | |||
13 | export interface SharedStore extends Instance<typeof sharedStore> {} | ||
14 | |||
15 | export interface SharedStoreSnapshotIn extends SnapshotIn<typeof sharedStore> {} | ||
16 | |||
17 | export interface SharedStoreSnapshotOut extends SnapshotOut<typeof sharedStore> {} | ||
18 | |||
19 | export interface SharedStoreListener { | ||
20 | onSnapshot(snapshot: SharedStoreSnapshotIn): void; | ||
21 | |||
22 | onPatch(patch: IJsonPatch): void; | ||
23 | } | ||